﻿using System;
using Harvest.API.Attributes;

namespace Harvest.API.Model
{

    [SerializationInfo("task")]
    public class Task
    {

        /// <summary>
        /// 
        /// </summary>
        /// <example>
        /// <![CDATA[<billable-by-default type="boolean">true</billable-by-default>>]]>
        /// </example>
        [SerializationInfo("billable-by-default", "boolean")]
        public bool? BillableByDefault { get; set; }

        /// <summary>
        /// 
        /// </summary>
        /// <example>
        /// <![CDATA[<deactivated type="boolean">false</deactivated>]]>
        /// </example>
        [SerializationInfo("deactivated", "boolean")]
        public bool? Deactivated { get; set; }

        /// <summary>
        /// 
        /// </summary>
        /// <example>
        /// <![CDATA[<default-hourly-rate type="decimal" nil="true"></default-hourly-rate>]]>
        /// </example>
        [SerializationInfo("default-hourly-rate", "decimal", IsNullable = true)]
        public float? DefaultHourlyRate { get; set; }

        /// <summary>
        /// 
        /// </summary>
        /// <example>
        /// <![CDATA[<id type="integer">135194</id>]]>
        /// </example>
        [SerializationInfo("id", "integer", IsNullable = true)]
        public int? Id { get; set; }

        /// <summary>
        /// 
        /// </summary>
        /// <example>
        /// <![CDATA[<is-default type="boolean">true</is-default>]]>
        /// </example>
        [SerializationInfo("is-default", "boolean")]
        public bool? IsDefault { get; set; }

        /// <summary>
        /// 
        /// </summary>
        /// <example>
        /// <![CDATA[<name>Besprechung</name>]]>
        /// </example>
        [SerializationInfo("name")]
        public string Name { get; set; }

        /// <summary>
        /// 
        /// </summary>
        /// <example>
        /// <![CDATA[<cache-version type="integer">663</cache-version>]]>
        /// </example>
        [SerializationInfo("cache-version", "integer")]
        public int? CacheVersion { get; set; }

        /// <summary>
        /// 
        /// </summary>
        /// <example>
        /// <![CDATA[<created-at type="datetime">2009-12-10T11:03:15Z</created-at>]]>
        /// </example>
        [SerializationInfo("created-at", "datetime")]
        public DateTime? CreatedAt { get; set; }

        /// <summary>
        /// 
        /// </summary>
        /// <example>
        /// <![CDATA[<updated-at type="datetime">2009-12-10T11:03:15Z</updated-at>]]>
        /// </example>
        [SerializationInfo("updated-at", "datetime", IsNullable = true)]
        public DateTime? UpdatedAt { get; set; }

    }
}
